Refinement calculus for a simple certification of static polyhedral analysis with code transformations

نویسندگان

  • Sylvain Boulmé
  • Michaël Périn
چکیده

A static analyzer such as ASTRÉE [CCF05, BCC10] is able to ensure safety of critical software, i.e. the absence of runtime overflows. But ASTRÉE is itself a very complex software and its full formal verification seems currently impossible. A more feasible alternative might be to make the analyzer produce a formally verifiable certificate. Such a certificate would summarize the proof of safety found by the analyzer. As a preliminary step to address this challenge, we experiment in COQ with the design of a tiny language of certificates, called “SCAT”1. We believe that instrumented analyzers could produce SCAT certificates when analysis is successful. Roughly, a SCAT certificate annotates the source with loop invariants that are hard to re-infer and also with code transformations used during the analysis. These code transformations come typically from trace-partitioning (loop unrolling, etc) [MR05] and linearization of arithmetic expressions [Min06]. Hence, this paper presents the SCAT language and an automatic checker of SCAT certificates which is formally verified in COQ [The12]. Our main COQ theorem ensures that if the SCAT certificate is accepted by the checker then the original source is safe.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Towards Formal Certification of Software Components

Software certification as it is practised today guarantees that certain standards are kept in the process of software development. However, this does not make any statements about the actual quality of implemented code. We propose an approach to certify the non-functional properties of componentbased software which is based on a formal refinement calculus, using the performance abstractions of ...

متن کامل

On Formal Certification of AD Transformations

Automatic Differentiation (AD) is concerned with the semantics augmentation of an input program representing a function to form a transformed program that computes the function’s derivatives. To ensure the correctness of the AD transformed code, particularly for safety critical applications, we propose using the proof-carrying code paradigm: an AD tool must provide a machine checkable certifica...

متن کامل

Loop Transformations for the Optimized Generation of Reconfigurable Hardware

Current high-level design environments offer little support to implement data-intensive applications on heterogeneous-memory systems; they rather focus on parallelism. This thesis addresses the memory hierarchy problem to high-level transformations of loop structures and the integration of these transformations in the hardware design flow. This work focuses on three aspects: (1) the composition...

متن کامل

Phased Computation Graphs in the Polyhedral Model

We present a translation scheme that allows a broad class of dataflow graphs to be considered under the optimization framework of the polyhedral model. The input to our analysis is a Phased Computation Graph, which we define as a generalization of the most widely used dataflow representations, including synchronous dataflow, cyclo-static dataflow, and computation graphs. The output of our analy...

متن کامل

Result certification for relational program analysis

We define a generic relational program analysis for an imperative, stack-oriented byte code language with procedures, arrays and global variables and instantiate it with an abstract domain of polyhedra. The analysis has automatic inference of loop invariants and method pre-/post-conditions, and efficient checking of analysis results by a simple checker. Invariants, which can be large, can be sp...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2013